概要
Rider や Visual Studio で Unreal Engine のクラッシュをデバッグしている際、C++ソースコードの代わりに低レベルのアセンブリコードだけが表示されることがあります。これはデバッグシンボルががない時に起こりますが、解決方法も簡単 です。
環境
- エンジン: Unreal Engine 5.x
- IDE: JetBrains Rider または Microsoft Visual Studio(Windows)
本編
デバッガで以下のような生のアセンブリコードしか表示されない場合:
mov eax, dword ptr [rax+10h]
それはシンボルファイル(.pdb)が見つからないことを意味しています。これはコンパイルされたコードを C++ソースにマッピングするために必要です。
✅ 解決方法
- Epic Games Launcher を開く
- ライブラリ タブへ移動
- 使用中の UE バージョンを探す
- 起動 ボタンの隣の ▼ 矢印 をクリック
- オプション をクリック
- デバッグ用エディタシンボル にチェックを入れる
- 適用 をクリック(ファイルサイズが大きいため時間がかかります)
結果
- C++ソースコードとコールスタックが表示されるようになります
- クラッシュの原因を自分のコードにまでさかのぼって特定できます
💡 ヒント: 新しいバージョンのUnreal Engineをインストールした際、デバッグシンボルはデフォルトでオフになっています。
インストール後再度オンにするのを忘れずに!